/**
 * Tencent is pleased to support the open source community by making Tars available.
 *
 * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
// **********************************************************************
// This file was generated by a TARS parser!
// TARS version 1.0.1.
// **********************************************************************

package com.qq.tars.support.config.prx;

import com.qq.tars.common.support.Holder;
import com.qq.tars.protocol.annotation.Servant;
import com.qq.tars.protocol.tars.annotation.TarsCallback;
import com.qq.tars.protocol.tars.annotation.TarsContext;
import com.qq.tars.protocol.tars.annotation.TarsHolder;

/**
 * config obj to load server's system config.
 **/
@Servant
public interface ConfigPrx {
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param vf, config file name
	 **/
	public int ListConfig(String app, String server, @TarsHolder Holder<java.util.List<String>> vf);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param vf, config file name
	 **/
	public int ListConfig(String app, String server, @TarsHolder Holder<java.util.List<String>> vf, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param vf, config file name
	 **/
	public void async_ListConfig(@TarsCallback ConfigPrxCallback callback, String app, String server);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param vf, config file name
	 **/
	public void async_ListConfig(@TarsCallback ConfigPrxCallback callback, String app, String server, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param filename, config file name
	 * @param config, Configuration file content
	 **/
	public int loadConfig(String app, String server, String filename, @TarsHolder Holder<String> config);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param filename, config file name
	 * @param config, Configuration file content
	 **/
	public int loadConfig(String app, String server, String filename, @TarsHolder Holder<String> config, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param filename, config file name
	 * @param config, Configuration file content
	 **/
	public void async_loadConfig(@TarsCallback ConfigPrxCallback callback, String app, String server, String filename);
	/**
	 * Read the configuration file list
	 * @param app, app name
	 * @param server, server name
	 * @param filename, config file name
	 * @param config, Configuration file content
	 **/
	public void async_loadConfig(@TarsCallback ConfigPrxCallback callback, String app, String server, String filename, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read file according to host
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param config, Configuration file content
	 **/
	public int loadConfigByHost(String appServerName, String filename, String host, @TarsHolder Holder<String> config);
	/**
	 * Read file according to host
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param config, Configuration file content
	 **/
	public int loadConfigByHost(String appServerName, String filename, String host, @TarsHolder Holder<String> config, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read file according to host
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param config, Configuration file content
	 **/
	public void async_loadConfigByHost(@TarsCallback ConfigPrxCallback callback, String appServerName, String filename, String host);
	/**
	 * Read file according to host
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param config, Configuration file content
	 **/
	public void async_loadConfigByHost(@TarsCallback ConfigPrxCallback callback, String appServerName, String filename, String host, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public int checkConfig(String appServerName, String filename, String host, @TarsHolder Holder<String> result);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public int checkConfig(String appServerName, String filename, String host, @TarsHolder Holder<String> result, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public void async_checkConfig(@TarsCallback ConfigPrxCallback callback, String appServerName, String filename, String host);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param appServer, app.server
	 * @param filename, config file name
	 * @param host, ip
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public void async_checkConfig(@TarsCallback ConfigPrxCallback callback, String appServerName, String filename, String host, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read the configuration file list of the node where the service is located
	 * 
	 * @param configInfo, ConfigInfo: Configuration file information, if there is no set group information, please set setdivision is empty ""
	 * @param vf, config file name
	 * @return int 0: success, -1:failure
	 **/
	public int ListConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<java.util.List<String>> vf);
	/**
	 * Read the configuration file list of the node where the service is located
	 * 
	 * @param configInfo, ConfigInfo: Configuration file information, if there is no set group information, please set setdivision is empty ""
	 * @param vf, config file name
	 * @return int 0: success, -1:failure
	 **/
	public int ListConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<java.util.List<String>> vf, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read the configuration file list of the node where the service is located
	 * 
	 * @param configInfo, ConfigInfo: Configuration file information, if there is no set group information, please set setdivision is empty ""
	 * @param vf, config file name
	 * @return int 0: success, -1:failure
	 **/
	public void async_ListConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo);
	/**
	 * Read the configuration file list of the node where the service is located
	 * 
	 * @param configInfo, ConfigInfo: Configuration file information, if there is no set group information, please set setdivision is empty ""
	 * @param vf, config file name
	 * @return int 0: success, -1:failure
	 **/
	public void async_ListConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read configuration file
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param config, Configuration file content
	 * @return int 0: success, -1:failure
	 **/
	public int loadConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<String> config);
	/**
	 * Read configuration file
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param config, Configuration file content
	 * @return int 0: success, -1:failure
	 **/
	public int loadConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<String> config, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Read configuration file
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param config, Configuration file content
	 * @return int 0: success, -1:failure
	 **/
	public void async_loadConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo);
	/**
	 * Read configuration file
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param config, Configuration file content
	 * @return int 0: success, -1:failure
	 **/
	public void async_loadConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public int checkConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<String> result);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public int checkConfigByInfo(ConfigInfo configInfo, @TarsHolder Holder<String> result, @TarsContext java.util.Map<String, String> ctx);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public void async_checkConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo);
	/**
	 * Check whether the configuration file conforms to the TC_Config format
	 * @param configInfo, ConfigInfo: Configuration file information
	 * @param result, prompt
	 * @return int 0: legal, -1:illegal
	 **/
	public void async_checkConfigByInfo(@TarsCallback ConfigPrxCallback callback, ConfigInfo configInfo, @TarsContext java.util.Map<String, String> ctx);
}
